package com.whsxt.code;

import java.util.Scanner;

/**
 * @author CodeYang
 * @Description 检查等级  多重if 与 switch 实现
 * @Date 2020/12/5 19:54
 */
public class CheckGrade {
    /**
     * 2.根据成绩输出对应的等级，使用if多分支和switch语句分别实现。
     * a)A级   [90,100]
     * b)B级   [80,90)
     * c)C级   [70,80)
     * d)D级   [60,70)
     * e)E级   [0,60)
     * @param args
     */
    public static void main(String[] args) {
        CheckGrade checkGrade = new CheckGrade();
        inputScore();

    }
    static  void inputScore(){
        System.out.println("请输入一个分数[0-100]:");
        Scanner scanner = new Scanner(System.in);
        double score = scanner.nextDouble();
        if(score<0 || score >100){
            System.out.println("输入范围不在[0-100]");
            //重新调用自身的输入方法
            CheckGrade.inputScore();
        }else{
            System.out.println("该分数"+score+"\t等级是:"+checkSwitch((int)score));
        }

    }

    /**
     * switch 来判断 区间范围 case 只能接收 常量 所以这个理要做一下出处理
     *    合理使用brake 来做穿透case
     *
     * @param score
     * @return
     */
    static String checkSwitch(int score){
        System.out.println("switch 方法");
            String grade;

            switch(score/10){
                case 10:
                case 9:
                    grade ="A级";
                    break;
                case 8:
                    grade ="B级";
                    break;
                case 7:
                    grade ="C级";
                    break;
                case 6:
                    grade ="D级";
                    break;
                    //代表 [0-60) 前面已经处理了合法范围
                default:
                    grade ="E级";
                    break;

            }
            return grade;
    }

    /**
     * 多重if 判断分数等级
     * @param score
     * @return
     */
    static String  checkIfs(int score) {
        String grade ;
        if(score>=90) {
            grade ="A级";
        }
        else if (score >=80) {
            grade = "B级";
        }
        else if (score >=70){
            grade = "C级";
        }
        else if (score >=60){
            grade = "D级";
        } // 代表 score < =60
        else {
            grade = "E级";
        }
        return grade;
    }
}
